package common.tool.box.system.service.impl;

import common.tool.box.common.utils.DateUtils;
import common.tool.box.system.domain.SysUserFile;
import common.tool.box.system.mapper.SysUserFileMapper;
import common.tool.box.system.service.ISysUserFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 用户与文件关联Service业务层处理
 *
 * @author jiazekai
 * @date 2022-11-28
 */
/**
 * 用户与文件关联Service业务层处理
 *
 * @author jiazekai
 * @date 2022-11-28
 */
@Service
public class SysUserFileServiceImpl implements ISysUserFileService
{
    @Autowired
    private SysUserFileMapper sysUserFileMapper;

    /**
     * 查询用户与文件关联
     *
     * @param userId 用户与文件关联主键
     * @return 用户与文件关联
     */
    @Override
    public SysUserFile selectSysUserFileByUserId(Long userId)
    {
        return sysUserFileMapper.selectSysUserFileByUserId(userId);
    }

    /**
     * 查询用户与文件关联列表
     *
     * @param sysUserFile 用户与文件关联
     * @return 用户与文件关联
     */
    @Override
    public List<SysUserFile> selectSysUserFileList(SysUserFile sysUserFile)
    {
        return sysUserFileMapper.selectSysUserFileList(sysUserFile);
    }

    /**
     * 新增用户与文件关联
     *
     * @param sysUserFile 用户与文件关联
     * @return 结果
     */
    @Override
    public int insertSysUserFile(SysUserFile sysUserFile)
    {
        sysUserFile.setCreateTime(DateUtils.getNowDate());
        return sysUserFileMapper.insertSysUserFile(sysUserFile);
    }

    /**
     * 修改用户与文件关联
     *
     * @param sysUserFile 用户与文件关联
     * @return 结果
     */
    @Override
    public int updateSysUserFile(SysUserFile sysUserFile)
    {
        sysUserFile.setUpdateTime(DateUtils.getNowDate());
        return sysUserFileMapper.updateSysUserFile(sysUserFile);
    }

    /**
     * 批量删除用户与文件关联
     *
     * @param userIds 需要删除的用户与文件关联主键
     * @return 结果
     */
    @Override
    public int deleteSysUserFileByUserIds(Long[] userIds)
    {
        return sysUserFileMapper.deleteSysUserFileByUserIds(userIds);
    }

    /**
     * 批量删除用户与文件关联
     *
     * @param fileIds 需要删除的用户与文件关联主键
     */
    @Override
    public int deleteSysUserFileByFileIds(List<String> fileIds)
    {
        return sysUserFileMapper.deleteSysUserFileByFileIds(fileIds);
    }

    /**
     * 删除用户与文件关联信息
     *
     * @param userId 用户与文件关联主键
     * @return 结果
     */
    @Override
    public int deleteSysUserFileByUserId(Long userId)
    {
        return sysUserFileMapper.deleteSysUserFileByUserId(userId);
    }
}